package com.autohome.wz.business.order.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CouponBatchExtendExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CouponBatchExtendExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoIsNull() {
            addCriterion("batch_extend_no is null");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoIsNotNull() {
            addCriterion("batch_extend_no is not null");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoEqualTo(String value) {
            addCriterion("batch_extend_no =", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoNotEqualTo(String value) {
            addCriterion("batch_extend_no <>", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoGreaterThan(String value) {
            addCriterion("batch_extend_no >", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoGreaterThanOrEqualTo(String value) {
            addCriterion("batch_extend_no >=", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoLessThan(String value) {
            addCriterion("batch_extend_no <", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoLessThanOrEqualTo(String value) {
            addCriterion("batch_extend_no <=", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoLike(String value) {
            addCriterion("batch_extend_no like", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoNotLike(String value) {
            addCriterion("batch_extend_no not like", value, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoIn(List<String> values) {
            addCriterion("batch_extend_no in", values, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoNotIn(List<String> values) {
            addCriterion("batch_extend_no not in", values, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoBetween(String value1, String value2) {
            addCriterion("batch_extend_no between", value1, value2, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoNotBetween(String value1, String value2) {
            addCriterion("batch_extend_no not between", value1, value2, "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoIsNull() {
            addCriterion("batch_no is null");
            return (Criteria) this;
        }

        public Criteria andBatchNoIsNotNull() {
            addCriterion("batch_no is not null");
            return (Criteria) this;
        }

        public Criteria andBatchNoEqualTo(String value) {
            addCriterion("batch_no =", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotEqualTo(String value) {
            addCriterion("batch_no <>", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoGreaterThan(String value) {
            addCriterion("batch_no >", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoGreaterThanOrEqualTo(String value) {
            addCriterion("batch_no >=", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoLessThan(String value) {
            addCriterion("batch_no <", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoLessThanOrEqualTo(String value) {
            addCriterion("batch_no <=", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoLike(String value) {
            addCriterion("batch_no like", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotLike(String value) {
            addCriterion("batch_no not like", value, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoIn(List<String> values) {
            addCriterion("batch_no in", values, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotIn(List<String> values) {
            addCriterion("batch_no not in", values, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoBetween(String value1, String value2) {
            addCriterion("batch_no between", value1, value2, "batchNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoNotBetween(String value1, String value2) {
            addCriterion("batch_no not between", value1, value2, "batchNo");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNull() {
            addCriterion("money is null");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNotNull() {
            addCriterion("money is not null");
            return (Criteria) this;
        }

        public Criteria andMoneyEqualTo(BigDecimal value) {
            addCriterion("money =", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotEqualTo(BigDecimal value) {
            addCriterion("money <>", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThan(BigDecimal value) {
            addCriterion("money >", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("money >=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThan(BigDecimal value) {
            addCriterion("money <", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("money <=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyIn(List<BigDecimal> values) {
            addCriterion("money in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotIn(List<BigDecimal> values) {
            addCriterion("money not in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("money between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("money not between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andRuleIsNull() {
            addCriterion("rule is null");
            return (Criteria) this;
        }

        public Criteria andRuleIsNotNull() {
            addCriterion("rule is not null");
            return (Criteria) this;
        }

        public Criteria andRuleEqualTo(String value) {
            addCriterion("rule =", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleNotEqualTo(String value) {
            addCriterion("rule <>", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleGreaterThan(String value) {
            addCriterion("rule >", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleGreaterThanOrEqualTo(String value) {
            addCriterion("rule >=", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleLessThan(String value) {
            addCriterion("rule <", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleLessThanOrEqualTo(String value) {
            addCriterion("rule <=", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleLike(String value) {
            addCriterion("rule like", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleNotLike(String value) {
            addCriterion("rule not like", value, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleIn(List<String> values) {
            addCriterion("rule in", values, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleNotIn(List<String> values) {
            addCriterion("rule not in", values, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleBetween(String value1, String value2) {
            addCriterion("rule between", value1, value2, "rule");
            return (Criteria) this;
        }

        public Criteria andRuleNotBetween(String value1, String value2) {
            addCriterion("rule not between", value1, value2, "rule");
            return (Criteria) this;
        }

        public Criteria andNumIsNull() {
            addCriterion("num is null");
            return (Criteria) this;
        }

        public Criteria andNumIsNotNull() {
            addCriterion("num is not null");
            return (Criteria) this;
        }

        public Criteria andNumEqualTo(Integer value) {
            addCriterion("num =", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotEqualTo(Integer value) {
            addCriterion("num <>", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThan(Integer value) {
            addCriterion("num >", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("num >=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThan(Integer value) {
            addCriterion("num <", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThanOrEqualTo(Integer value) {
            addCriterion("num <=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumIn(List<Integer> values) {
            addCriterion("num in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotIn(List<Integer> values) {
            addCriterion("num not in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumBetween(Integer value1, Integer value2) {
            addCriterion("num between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotBetween(Integer value1, Integer value2) {
            addCriterion("num not between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeIsNull() {
            addCriterion("valid_time_type is null");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeIsNotNull() {
            addCriterion("valid_time_type is not null");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeEqualTo(Integer value) {
            addCriterion("valid_time_type =", value, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeNotEqualTo(Integer value) {
            addCriterion("valid_time_type <>", value, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeGreaterThan(Integer value) {
            addCriterion("valid_time_type >", value, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("valid_time_type >=", value, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeLessThan(Integer value) {
            addCriterion("valid_time_type <", value, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeLessThanOrEqualTo(Integer value) {
            addCriterion("valid_time_type <=", value, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeIn(List<Integer> values) {
            addCriterion("valid_time_type in", values, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeNotIn(List<Integer> values) {
            addCriterion("valid_time_type not in", values, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeBetween(Integer value1, Integer value2) {
            addCriterion("valid_time_type between", value1, value2, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidTimeTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("valid_time_type not between", value1, value2, "validTimeType");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeIsNull() {
            addCriterion("valid_start_time is null");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeIsNotNull() {
            addCriterion("valid_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeEqualTo(Date value) {
            addCriterion("valid_start_time =", value, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeNotEqualTo(Date value) {
            addCriterion("valid_start_time <>", value, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeGreaterThan(Date value) {
            addCriterion("valid_start_time >", value, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("valid_start_time >=", value, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeLessThan(Date value) {
            addCriterion("valid_start_time <", value, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("valid_start_time <=", value, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeIn(List<Date> values) {
            addCriterion("valid_start_time in", values, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeNotIn(List<Date> values) {
            addCriterion("valid_start_time not in", values, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeBetween(Date value1, Date value2) {
            addCriterion("valid_start_time between", value1, value2, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("valid_start_time not between", value1, value2, "validStartTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeIsNull() {
            addCriterion("valid_end_time is null");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeIsNotNull() {
            addCriterion("valid_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeEqualTo(Date value) {
            addCriterion("valid_end_time =", value, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeNotEqualTo(Date value) {
            addCriterion("valid_end_time <>", value, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeGreaterThan(Date value) {
            addCriterion("valid_end_time >", value, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("valid_end_time >=", value, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeLessThan(Date value) {
            addCriterion("valid_end_time <", value, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("valid_end_time <=", value, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeIn(List<Date> values) {
            addCriterion("valid_end_time in", values, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeNotIn(List<Date> values) {
            addCriterion("valid_end_time not in", values, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeBetween(Date value1, Date value2) {
            addCriterion("valid_end_time between", value1, value2, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("valid_end_time not between", value1, value2, "validEndTime");
            return (Criteria) this;
        }

        public Criteria andValidDaysIsNull() {
            addCriterion("valid_days is null");
            return (Criteria) this;
        }

        public Criteria andValidDaysIsNotNull() {
            addCriterion("valid_days is not null");
            return (Criteria) this;
        }

        public Criteria andValidDaysEqualTo(Integer value) {
            addCriterion("valid_days =", value, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysNotEqualTo(Integer value) {
            addCriterion("valid_days <>", value, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysGreaterThan(Integer value) {
            addCriterion("valid_days >", value, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysGreaterThanOrEqualTo(Integer value) {
            addCriterion("valid_days >=", value, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysLessThan(Integer value) {
            addCriterion("valid_days <", value, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysLessThanOrEqualTo(Integer value) {
            addCriterion("valid_days <=", value, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysIn(List<Integer> values) {
            addCriterion("valid_days in", values, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysNotIn(List<Integer> values) {
            addCriterion("valid_days not in", values, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysBetween(Integer value1, Integer value2) {
            addCriterion("valid_days between", value1, value2, "validDays");
            return (Criteria) this;
        }

        public Criteria andValidDaysNotBetween(Integer value1, Integer value2) {
            addCriterion("valid_days not between", value1, value2, "validDays");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIsNull() {
            addCriterion("coupon_type is null");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIsNotNull() {
            addCriterion("coupon_type is not null");
            return (Criteria) this;
        }

        public Criteria andCouponTypeEqualTo(Integer value) {
            addCriterion("coupon_type =", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotEqualTo(Integer value) {
            addCriterion("coupon_type <>", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeGreaterThan(Integer value) {
            addCriterion("coupon_type >", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("coupon_type >=", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeLessThan(Integer value) {
            addCriterion("coupon_type <", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeLessThanOrEqualTo(Integer value) {
            addCriterion("coupon_type <=", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIn(List<Integer> values) {
            addCriterion("coupon_type in", values, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotIn(List<Integer> values) {
            addCriterion("coupon_type not in", values, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeBetween(Integer value1, Integer value2) {
            addCriterion("coupon_type between", value1, value2, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("coupon_type not between", value1, value2, "couponType");
            return (Criteria) this;
        }

        public Criteria andCountNumIsNull() {
            addCriterion("count_num is null");
            return (Criteria) this;
        }

        public Criteria andCountNumIsNotNull() {
            addCriterion("count_num is not null");
            return (Criteria) this;
        }

        public Criteria andCountNumEqualTo(Integer value) {
            addCriterion("count_num =", value, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumNotEqualTo(Integer value) {
            addCriterion("count_num <>", value, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumGreaterThan(Integer value) {
            addCriterion("count_num >", value, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("count_num >=", value, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumLessThan(Integer value) {
            addCriterion("count_num <", value, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumLessThanOrEqualTo(Integer value) {
            addCriterion("count_num <=", value, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumIn(List<Integer> values) {
            addCriterion("count_num in", values, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumNotIn(List<Integer> values) {
            addCriterion("count_num not in", values, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumBetween(Integer value1, Integer value2) {
            addCriterion("count_num between", value1, value2, "countNum");
            return (Criteria) this;
        }

        public Criteria andCountNumNotBetween(Integer value1, Integer value2) {
            addCriterion("count_num not between", value1, value2, "countNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumIsNull() {
            addCriterion("relevance_num is null");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumIsNotNull() {
            addCriterion("relevance_num is not null");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumEqualTo(Integer value) {
            addCriterion("relevance_num =", value, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumNotEqualTo(Integer value) {
            addCriterion("relevance_num <>", value, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumGreaterThan(Integer value) {
            addCriterion("relevance_num >", value, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("relevance_num >=", value, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumLessThan(Integer value) {
            addCriterion("relevance_num <", value, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumLessThanOrEqualTo(Integer value) {
            addCriterion("relevance_num <=", value, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumIn(List<Integer> values) {
            addCriterion("relevance_num in", values, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumNotIn(List<Integer> values) {
            addCriterion("relevance_num not in", values, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumBetween(Integer value1, Integer value2) {
            addCriterion("relevance_num between", value1, value2, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andRelevanceNumNotBetween(Integer value1, Integer value2) {
            addCriterion("relevance_num not between", value1, value2, "relevanceNum");
            return (Criteria) this;
        }

        public Criteria andBindNumIsNull() {
            addCriterion("bind_num is null");
            return (Criteria) this;
        }

        public Criteria andBindNumIsNotNull() {
            addCriterion("bind_num is not null");
            return (Criteria) this;
        }

        public Criteria andBindNumEqualTo(Integer value) {
            addCriterion("bind_num =", value, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumNotEqualTo(Integer value) {
            addCriterion("bind_num <>", value, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumGreaterThan(Integer value) {
            addCriterion("bind_num >", value, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("bind_num >=", value, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumLessThan(Integer value) {
            addCriterion("bind_num <", value, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumLessThanOrEqualTo(Integer value) {
            addCriterion("bind_num <=", value, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumIn(List<Integer> values) {
            addCriterion("bind_num in", values, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumNotIn(List<Integer> values) {
            addCriterion("bind_num not in", values, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumBetween(Integer value1, Integer value2) {
            addCriterion("bind_num between", value1, value2, "bindNum");
            return (Criteria) this;
        }

        public Criteria andBindNumNotBetween(Integer value1, Integer value2) {
            addCriterion("bind_num not between", value1, value2, "bindNum");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxIsNull() {
            addCriterion("code_no_max is null");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxIsNotNull() {
            addCriterion("code_no_max is not null");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxEqualTo(String value) {
            addCriterion("code_no_max =", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxNotEqualTo(String value) {
            addCriterion("code_no_max <>", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxGreaterThan(String value) {
            addCriterion("code_no_max >", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxGreaterThanOrEqualTo(String value) {
            addCriterion("code_no_max >=", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxLessThan(String value) {
            addCriterion("code_no_max <", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxLessThanOrEqualTo(String value) {
            addCriterion("code_no_max <=", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxLike(String value) {
            addCriterion("code_no_max like", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxNotLike(String value) {
            addCriterion("code_no_max not like", value, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxIn(List<String> values) {
            addCriterion("code_no_max in", values, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxNotIn(List<String> values) {
            addCriterion("code_no_max not in", values, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxBetween(String value1, String value2) {
            addCriterion("code_no_max between", value1, value2, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxNotBetween(String value1, String value2) {
            addCriterion("code_no_max not between", value1, value2, "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeIsNull() {
            addCriterion("business_type is null");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeIsNotNull() {
            addCriterion("business_type is not null");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeEqualTo(Integer value) {
            addCriterion("business_type =", value, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeNotEqualTo(Integer value) {
            addCriterion("business_type <>", value, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeGreaterThan(Integer value) {
            addCriterion("business_type >", value, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("business_type >=", value, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeLessThan(Integer value) {
            addCriterion("business_type <", value, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeLessThanOrEqualTo(Integer value) {
            addCriterion("business_type <=", value, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeIn(List<Integer> values) {
            addCriterion("business_type in", values, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeNotIn(List<Integer> values) {
            addCriterion("business_type not in", values, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeBetween(Integer value1, Integer value2) {
            addCriterion("business_type between", value1, value2, "businessType");
            return (Criteria) this;
        }

        public Criteria andBusinessTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("business_type not between", value1, value2, "businessType");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleIsNull() {
            addCriterion("batch_extend_title is null");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleIsNotNull() {
            addCriterion("batch_extend_title is not null");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleEqualTo(String value) {
            addCriterion("batch_extend_title =", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleNotEqualTo(String value) {
            addCriterion("batch_extend_title <>", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleGreaterThan(String value) {
            addCriterion("batch_extend_title >", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleGreaterThanOrEqualTo(String value) {
            addCriterion("batch_extend_title >=", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleLessThan(String value) {
            addCriterion("batch_extend_title <", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleLessThanOrEqualTo(String value) {
            addCriterion("batch_extend_title <=", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleLike(String value) {
            addCriterion("batch_extend_title like", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleNotLike(String value) {
            addCriterion("batch_extend_title not like", value, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleIn(List<String> values) {
            addCriterion("batch_extend_title in", values, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleNotIn(List<String> values) {
            addCriterion("batch_extend_title not in", values, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleBetween(String value1, String value2) {
            addCriterion("batch_extend_title between", value1, value2, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleNotBetween(String value1, String value2) {
            addCriterion("batch_extend_title not between", value1, value2, "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceIsNull() {
            addCriterion("max_preferential_price is null");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceIsNotNull() {
            addCriterion("max_preferential_price is not null");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceEqualTo(BigDecimal value) {
            addCriterion("max_preferential_price =", value, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceNotEqualTo(BigDecimal value) {
            addCriterion("max_preferential_price <>", value, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceGreaterThan(BigDecimal value) {
            addCriterion("max_preferential_price >", value, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("max_preferential_price >=", value, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceLessThan(BigDecimal value) {
            addCriterion("max_preferential_price <", value, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("max_preferential_price <=", value, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceIn(List<BigDecimal> values) {
            addCriterion("max_preferential_price in", values, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceNotIn(List<BigDecimal> values) {
            addCriterion("max_preferential_price not in", values, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("max_preferential_price between", value1, value2, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andMaxPreferentialPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("max_preferential_price not between", value1, value2, "maxPreferentialPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceIsNull() {
            addCriterion("discount_price is null");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceIsNotNull() {
            addCriterion("discount_price is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceEqualTo(BigDecimal value) {
            addCriterion("discount_price =", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceNotEqualTo(BigDecimal value) {
            addCriterion("discount_price <>", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceGreaterThan(BigDecimal value) {
            addCriterion("discount_price >", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_price >=", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceLessThan(BigDecimal value) {
            addCriterion("discount_price <", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_price <=", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceIn(List<BigDecimal> values) {
            addCriterion("discount_price in", values, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceNotIn(List<BigDecimal> values) {
            addCriterion("discount_price not in", values, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_price between", value1, value2, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_price not between", value1, value2, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andRuleTypeIsNull() {
            addCriterion("rule_type is null");
            return (Criteria) this;
        }

        public Criteria andRuleTypeIsNotNull() {
            addCriterion("rule_type is not null");
            return (Criteria) this;
        }

        public Criteria andRuleTypeEqualTo(Integer value) {
            addCriterion("rule_type =", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeNotEqualTo(Integer value) {
            addCriterion("rule_type <>", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeGreaterThan(Integer value) {
            addCriterion("rule_type >", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("rule_type >=", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeLessThan(Integer value) {
            addCriterion("rule_type <", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeLessThanOrEqualTo(Integer value) {
            addCriterion("rule_type <=", value, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeIn(List<Integer> values) {
            addCriterion("rule_type in", values, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeNotIn(List<Integer> values) {
            addCriterion("rule_type not in", values, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeBetween(Integer value1, Integer value2) {
            addCriterion("rule_type between", value1, value2, "ruleType");
            return (Criteria) this;
        }

        public Criteria andRuleTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("rule_type not between", value1, value2, "ruleType");
            return (Criteria) this;
        }

        public Criteria andUrlUseIsNull() {
            addCriterion("url_use is null");
            return (Criteria) this;
        }

        public Criteria andUrlUseIsNotNull() {
            addCriterion("url_use is not null");
            return (Criteria) this;
        }

        public Criteria andUrlUseEqualTo(String value) {
            addCriterion("url_use =", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseNotEqualTo(String value) {
            addCriterion("url_use <>", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseGreaterThan(String value) {
            addCriterion("url_use >", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseGreaterThanOrEqualTo(String value) {
            addCriterion("url_use >=", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseLessThan(String value) {
            addCriterion("url_use <", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseLessThanOrEqualTo(String value) {
            addCriterion("url_use <=", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseLike(String value) {
            addCriterion("url_use like", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseNotLike(String value) {
            addCriterion("url_use not like", value, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseIn(List<String> values) {
            addCriterion("url_use in", values, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseNotIn(List<String> values) {
            addCriterion("url_use not in", values, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseBetween(String value1, String value2) {
            addCriterion("url_use between", value1, value2, "urlUse");
            return (Criteria) this;
        }

        public Criteria andUrlUseNotBetween(String value1, String value2) {
            addCriterion("url_use not between", value1, value2, "urlUse");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagIsNull() {
            addCriterion("limit_use_flag is null");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagIsNotNull() {
            addCriterion("limit_use_flag is not null");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagEqualTo(Integer value) {
            addCriterion("limit_use_flag =", value, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagNotEqualTo(Integer value) {
            addCriterion("limit_use_flag <>", value, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagGreaterThan(Integer value) {
            addCriterion("limit_use_flag >", value, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("limit_use_flag >=", value, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagLessThan(Integer value) {
            addCriterion("limit_use_flag <", value, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagLessThanOrEqualTo(Integer value) {
            addCriterion("limit_use_flag <=", value, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagIn(List<Integer> values) {
            addCriterion("limit_use_flag in", values, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagNotIn(List<Integer> values) {
            addCriterion("limit_use_flag not in", values, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagBetween(Integer value1, Integer value2) {
            addCriterion("limit_use_flag between", value1, value2, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andLimitUseFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("limit_use_flag not between", value1, value2, "limitUseFlag");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleIsNull() {
            addCriterion("is_new_rule is null");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleIsNotNull() {
            addCriterion("is_new_rule is not null");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleEqualTo(Integer value) {
            addCriterion("is_new_rule =", value, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleNotEqualTo(Integer value) {
            addCriterion("is_new_rule <>", value, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleGreaterThan(Integer value) {
            addCriterion("is_new_rule >", value, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_new_rule >=", value, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleLessThan(Integer value) {
            addCriterion("is_new_rule <", value, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleLessThanOrEqualTo(Integer value) {
            addCriterion("is_new_rule <=", value, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleIn(List<Integer> values) {
            addCriterion("is_new_rule in", values, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleNotIn(List<Integer> values) {
            addCriterion("is_new_rule not in", values, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleBetween(Integer value1, Integer value2) {
            addCriterion("is_new_rule between", value1, value2, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andIsNewRuleNotBetween(Integer value1, Integer value2) {
            addCriterion("is_new_rule not between", value1, value2, "isNewRule");
            return (Criteria) this;
        }

        public Criteria andTempidIsNull() {
            addCriterion("tempId is null");
            return (Criteria) this;
        }

        public Criteria andTempidIsNotNull() {
            addCriterion("tempId is not null");
            return (Criteria) this;
        }

        public Criteria andTempidEqualTo(Integer value) {
            addCriterion("tempId =", value, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidNotEqualTo(Integer value) {
            addCriterion("tempId <>", value, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidGreaterThan(Integer value) {
            addCriterion("tempId >", value, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidGreaterThanOrEqualTo(Integer value) {
            addCriterion("tempId >=", value, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidLessThan(Integer value) {
            addCriterion("tempId <", value, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidLessThanOrEqualTo(Integer value) {
            addCriterion("tempId <=", value, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidIn(List<Integer> values) {
            addCriterion("tempId in", values, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidNotIn(List<Integer> values) {
            addCriterion("tempId not in", values, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidBetween(Integer value1, Integer value2) {
            addCriterion("tempId between", value1, value2, "tempid");
            return (Criteria) this;
        }

        public Criteria andTempidNotBetween(Integer value1, Integer value2) {
            addCriterion("tempId not between", value1, value2, "tempid");
            return (Criteria) this;
        }

        public Criteria andRatioIsNull() {
            addCriterion("ratio is null");
            return (Criteria) this;
        }

        public Criteria andRatioIsNotNull() {
            addCriterion("ratio is not null");
            return (Criteria) this;
        }

        public Criteria andRatioEqualTo(Integer value) {
            addCriterion("ratio =", value, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioNotEqualTo(Integer value) {
            addCriterion("ratio <>", value, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioGreaterThan(Integer value) {
            addCriterion("ratio >", value, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioGreaterThanOrEqualTo(Integer value) {
            addCriterion("ratio >=", value, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioLessThan(Integer value) {
            addCriterion("ratio <", value, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioLessThanOrEqualTo(Integer value) {
            addCriterion("ratio <=", value, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioIn(List<Integer> values) {
            addCriterion("ratio in", values, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioNotIn(List<Integer> values) {
            addCriterion("ratio not in", values, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioBetween(Integer value1, Integer value2) {
            addCriterion("ratio between", value1, value2, "ratio");
            return (Criteria) this;
        }

        public Criteria andRatioNotBetween(Integer value1, Integer value2) {
            addCriterion("ratio not between", value1, value2, "ratio");
            return (Criteria) this;
        }

        public Criteria andCouponFlagIsNull() {
            addCriterion("coupon_flag is null");
            return (Criteria) this;
        }

        public Criteria andCouponFlagIsNotNull() {
            addCriterion("coupon_flag is not null");
            return (Criteria) this;
        }

        public Criteria andCouponFlagEqualTo(Integer value) {
            addCriterion("coupon_flag =", value, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagNotEqualTo(Integer value) {
            addCriterion("coupon_flag <>", value, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagGreaterThan(Integer value) {
            addCriterion("coupon_flag >", value, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("coupon_flag >=", value, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagLessThan(Integer value) {
            addCriterion("coupon_flag <", value, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagLessThanOrEqualTo(Integer value) {
            addCriterion("coupon_flag <=", value, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagIn(List<Integer> values) {
            addCriterion("coupon_flag in", values, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagNotIn(List<Integer> values) {
            addCriterion("coupon_flag not in", values, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagBetween(Integer value1, Integer value2) {
            addCriterion("coupon_flag between", value1, value2, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andCouponFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("coupon_flag not between", value1, value2, "couponFlag");
            return (Criteria) this;
        }

        public Criteria andBatchExtendNoLikeInsensitive(String value) {
            addCriterion("upper(batch_extend_no) like", value.toUpperCase(), "batchExtendNo");
            return (Criteria) this;
        }

        public Criteria andBatchNoLikeInsensitive(String value) {
            addCriterion("upper(batch_no) like", value.toUpperCase(), "batchNo");
            return (Criteria) this;
        }

        public Criteria andRuleLikeInsensitive(String value) {
            addCriterion("upper(rule) like", value.toUpperCase(), "rule");
            return (Criteria) this;
        }

        public Criteria andCodeNoMaxLikeInsensitive(String value) {
            addCriterion("upper(code_no_max) like", value.toUpperCase(), "codeNoMax");
            return (Criteria) this;
        }

        public Criteria andBatchExtendTitleLikeInsensitive(String value) {
            addCriterion("upper(batch_extend_title) like", value.toUpperCase(), "batchExtendTitle");
            return (Criteria) this;
        }

        public Criteria andUrlUseLikeInsensitive(String value) {
            addCriterion("upper(url_use) like", value.toUpperCase(), "urlUse");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}